//package com.itheima.mvc.config;
//
//import org.springframework.web.context.WebApplicationContext;
//import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
//import org.springframework.web.filter.CharacterEncodingFilter;
//import org.springframework.web.servlet.support.AbstractDispatcherServletInitializer;
//
//import javax.servlet.DispatcherType;
//import javax.servlet.FilterRegistration;
//import javax.servlet.ServletContext;
//import javax.servlet.ServletException;
//import java.util.EnumSet;
//
//public class ServletContainersInitConfig extends AbstractDispatcherServletInitializer {
//    //创建Servlet容器时，使用注解的方式加载SPRINGMVC配置类中的信息，并加载成WEB专用的			           //ApplicationContext对象
//    //该对象放入了ServletContext范围，后期在整个WEB容器中可以随时获取调用
//    @Override
//    protected WebApplicationContext createServletApplicationContext() {
//        //加载web的容器 配置文件加载
//        AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
//        ctx.register(SpringMVCConfiguration.class);
//        return ctx;
//    }
//
//    //注解配置映射地址方式，服务于SpringMVC的核心控制器DispatcherServlet
//    @Override
//    protected String[] getServletMappings() {
//        return new String[]{"/"};
//    }
//
//    @Override
//    protected WebApplicationContext createRootApplicationContext() {
//        //spring配置文件加载
//        return null;
//    }
//
//
//    @Override
//    public void onStartup(ServletContext servletContext) throws ServletException {
//        super.onStartup(servletContext);
//        //启动方法
//        ////乱码处理作为过滤器，在servlet容器启动时进行配置，相关内容参看Servlet零配置相关课程
//        CharacterEncodingFilter cef = new CharacterEncodingFilter();
//        cef.setEncoding("UTF-8");
//        FilterRegistration.Dynamic registration = servletContext.addFilter("characterEncodingFilter", cef);
//        registration.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST,DispatcherType.FORWARD,DispatcherType.INCLUDE),false,"/*");
//    }
//}